package cn.aiweiyi.qingjing.coupon.template.service;

import cn.aiweiyi.qingjing.coupon.comm.exception.CouponException;
import cn.aiweiyi.qingjing.coupon.template.entity.CouponTemplate;
import cn.aiweiyi.qingjing.coupon.comm.vo.CouponTemplateSDK;

import java.util.Collection;
import java.util.List;
import java.util.Map;

/**
 * 提供其他微服务(比如分发服务)调用的业务接口
 */
public interface TemplateBaseService {
    /**
     * <h2>根据优惠券模板id 查找优惠券模板信息</h2>
     *
     * @param id 模板id
     * @return {@link CouponTemplate}优惠券模板实体
     */
    CouponTemplate findTemplateInfo(Integer id) throws CouponException;

    //查找所有可用的优惠券模板
    List<CouponTemplateSDK> findAllUsableTemplate();

    /**
     * 获取模板ids 到CouponTemplateSDK的映射
     *
     * @param ids 模板 ids
     * @return Map<key: 模板 id, value:CouponTemplateSDK>
     */
    Map<Integer, CouponTemplateSDK> findIds2TemplateSDK(Collection<Integer> ids);
}
